<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>专业编号</title>
<link rel="stylesheet" type="text/css" href="../ext/resources/css/ext-all.css"></link>
<link rel="stylesheet" type="text/css" href="../ext/resources/css/xtheme-slate.css"></link>
<script src="../ext/adapter/ext/ext-base.js"></script>
<script src="../ext/ext-all.js"></script>
<script src="../ext/src/locale/ext-lang-zh_CN.js"></script>	
<script src="../ext/base/PagingMemoryProxy.js"></script>	
<script type="text/javascript">
Ext.onReady(function(){
	Ext.Ajax.on('requestcomplete',checkUserSessionStatus, this);      
	function checkUserSessionStatus(conn,response,options){      
	    if(response.getResponseHeader('sessionstatus')){      
	    	parent.location.href='/xdj/index.jsp';   
	    }      
	}  
	Ext.BLANK_IMAGE_URL='ext/resources/images/default/s.gif';
	
	
	//表格
	var cm=new Ext.grid.ColumnModel([
		new Ext.grid.RowNumberer(),  //自动增加序列号
		{header:'专业编码',dataIndex:'professCode',sortable:true}, //True表示为可在该列上进行排列
		{header:'专业名称',dataIndex:'professName'},
		{header:'备注',dataIndex:'remarks',width:300},
		{header:'ID',dataIndex:'professID',hidden:true}
	]);//定义相应的列模型


	
	var store=new Ext.data.JsonStore({
		url: 'profess_load',
	    root: 'result',
	   // idProperty:'id',
	    totalProperty:'totalProperty',
	    fields: ["professCode", "professName","remarks","professID"]
	});//存储前两项的定义的东西，将其连接起来
	
	var panel = new Ext.grid.GridPanel({
		region:'center',
		border:'false',
		cm:cm,
		store:store,
		//autoHeight:true,  //设置表格的高度 true为自动获取表格的大小
		height :  document.body.clientHeight, //设置表格的高度 true为自动获取表格的大小
		renderTo:'grid' , //渲染容器
		enableColumnMove:false,//不可以使表格列移动
		enableColumnResize:false, //不可以改变列的宽度
		stripeRows:false, //True表示为显示行的分隔符
		loadMask:true,  //会有一个Ext.LoadMask的遮罩效果
		trackMouseOver : true,  //True表示为鼠标移动时高亮显示（默认为true）。
		enableDragDrop : true,
		viewConfig:{
			forceFit:true //让没列自动填满表格，根据你设置的宽度按比例分配
		},tbar:[{
			text: "删除",disabled:true,id:'cDeleteBox',
			icon:'../image/public/user_delete.png',
        	handler:function(){
        		Ext.MessageBox.confirm("提示","您确定要删除这些信息吗?", function(button,text){   
        			if(button=='yes'){
        				var record=panel.getSelectionModel().getSelected();
        				if(record ==null){
        					alert("请选择要删除的专业");
        					Ext.getBody().unmask();
        				}else{
        					Ext.Ajax.request({
            					url:'profess_delete',
            					success:function(response){
            						var result = Ext.util.JSON.decode(response.responseText);
            						if(result.success==true){
            							store.reload() ;
            						}else{
            							Ext.Msg.alert("提示","操作失败，请重试。") ;
            						}
            					},
            					params:{professID:record.get("professID")}
            				});
        				}
        				
        			}
        			}); 
			}
		},{
			text: "修改",disabled:true,id:'cModifyBox',
			icon:'../image/public/user_edit.png',
        	handler:function(){
        		Ext.MessageBox.confirm("提示","您确定要修改这些信息吗?", function(button,text){   
        			if(button=='yes'){
        				Ext.getBody().mask();
        				var record=panel.getSelectionModel().getSelected();
        				if(record ==null){
        					alert("请选择要修改的专业");
        					Ext.getBody().unmask();
        				}else{
        					showWindown("profess_update");
                    		professForm.getForm().setValues({
                    			"profess.professCode" : record.get("professCode"),
                    			"profess.professName" : record.get("professName"),
                    			"profess.remarks": record.get("remarks") ,
                    			"profess.professID": record.get("professID")
                    		});
                    		store.reload() ;
        				}
                	
        			}
        			}); 	
        	}
		},{
			text: '增加',disabled:true,id:'cAddBox',
			icon:'../image/public/user_add.gif',
        	handler:function(){
        		Ext.getBody().mask();
        		showWindown("profess_save");
        		store.reload();
        	}
		}],
		bbar:new Ext.PagingToolbar({
			pageSize : 10, //每页显示几条
			store : store,
			beforePageText:"当前第",   
            afterPageText:"页，共{0}页",   
            lastText:"尾页",   
            nextText :"下一页",   
            prevText :"上一页",   
            firstText :"首页",                           
	        displayInfo:true, 
	        displayMsg:'显示第{0}条数据到{1}条数据,一共有{2}条', 
	        emptyMsg:'没有记录'
		})
	});
	
	store.load({params:{start:0,limit:10}});//加载数据  注意，一旦使用了分页条， store.load();就必须在构造表格之后进行执行，否则将不起作用，并且将分页条和数据源关联，从而实现与表格共享数据模型
	 
	function showWindown(urlString) {
		professForm=new Ext.form.FormPanel({
			frame:true,
			height:200,
			buttonAlign:'top',
			labelAlign:'right',
			layout:'form',
			items:[{
				fieldLabel:'专业编码',
				xtype:'textfield',
				allowBlank:false,
				blankText:'编码不能为空',
				name:'profess.professCode'
			},{
				fieldLabel:'专业名称',
				xtype:'textfield',
				allowBlank:false,
				blankText:'名称不能为空',	
				name:'profess.professName'
			},{
				fieldLabel:'备注',
				xtype:'textarea',
				width:200,
				height:50,
				grow:true, //可自动增长
				preventScrollbars:true,  //不显示那个下拉条 必须与grow一起用
				name:'profess.remarks'
			},{
				xtype:'hidden',
				name:'profess.professID'
			}
			],
			buttons:[{
		       text: "确认",
		       handler:function(){ 
		    	   if ( professForm.getForm().isValid() ){
		    		   professForm.form.submit({   
		        	waitMsg : '正在提交数据....',   
		            url:urlString,   
		            method:'post',   
		            success:function(professForm,action){  
		            	
		            	var result = Ext.util.JSON.decode(action.response.responseText);
		            	if(result.success==true) {
		            		//alert(deptForm.getForm().findField('dept.depName').getValue()) ;
		            		if(urlString=="profess_save"){
		            			//System.out.println("save");
		            			win.close();
		            			store.reload() ;
		            			Ext.getBody().unmask();
		            		}else if(urlString=="profess_update"){
		            			win.close() ;
		            			store.reload() ;
		            			Ext.getBody().unmask();
		            		}
							
		            	}else{
		            		Ext.Msg.alert("提示","操作失败，请重试。") ;
		            	}
		            }
		          }); 
		       }
		       }
		     },{
		            text: "取消",
		           	handler:function(){ 
		           		win.close() ;
		           		Ext.getBody().unmask();
		           	}
		            
		        }
		     ]
		});
		var win=new Ext.Window({
			title:'登录',
			 width:400,
			 height:230,
			 items:[professForm],
			 xtype:'form',
			 listeners:{"beforedestroy":function(obj)
                 { 
				 Ext.getBody().unmask();  
                    // obj.show(); return false; 
                  }
			}  
		});
		win.show();
		
		}
	
	 new Ext.Viewport({  
		layout : 'border', // 使用border布局  
		border:false,
		items:[panel],
		listeners:{
			'beforerender' : function(cmp) {
				// set role
				var store=new Ext.data.JsonStore({
					url: '../system/role_loadFunc?funcCode=ControlProfess',
					autoLoad : true,
					fields: ["functioncode"]
				});
				store.load({
				    callback: function(records, options, success){
				    	var i=0;
				    	for(; i<records.length; i++) {
				    		var id = records[i].get("functioncode");
				    		//alert('d'+Ext.getCmp('56').text);
				    		if(Ext.getCmp(id)!=null) {
				    			Ext.getCmp(id).setDisabled(false);
				    		}
				        }
				    },
				    scope: store
				});
			}
		}
	 }); 
	 
});
</script> 	
</head>
<body>
<div id="grid"></div>
</body>
</html>